package com.winchain.chainbill.chain.service.impl;

import com.shell.bee.acct.transaction.dao.AcctTxRecDao;
import com.shell.bee.acct.transaction.po.AcctTxRec;
import com.shell.bee.base.utils.StringUtil;
import com.shell.bee.persistence.annotation.Pagination;
import com.shell.bee.persistence.model.PageLimit;
import com.winchain.chainbill.chain.ChainCallbackService;
import com.winchain.chainbill.chain.service.ChainManualService;
import java.util.List;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;

@Service("chainManualService")
public class ChainManualServiceImpl implements ChainManualService {
	@Autowired
	private AcctTxRecDao AcctTxRecDao;
	@Autowired
	private ChainCallbackService chainCallbackService;

	@Pagination
	public List<AcctTxRec> selectProcAndExpRec(PageLimit limit, String acctNo, String acctNm) {
		if (!StringUtil.emptyAndNull(acctNo)) {
			acctNo = StringUtil.getParameterLike(acctNo);
		}
		if (!StringUtil.emptyAndNull(acctNm)) {
			acctNm = StringUtil.getParameterLike(acctNm);
		}
		return this.AcctTxRecDao.selectProcAndExpRec(acctNo, acctNm);
	}

	public boolean callback(String txSn, String hash) {
		try {
			this.chainCallbackService.callback(txSn, hash);
		} catch (Exception e) {
			e.printStackTrace();
			return false;
		}
		return true;
	}
}
